1. Technical Field
The present invention generally relates to computer systems and in particular to data transfer in computer memory systems.
2. Description of the Related Art
Direct memory access (DMA) is an operation which may control the memory system of a computer without utilizing the central processing unit (CPU). During DMA operations, data may be moved from one memory location to another memory location, typically while the computer is in a low power mode. DMA operations utilize the same memory bus as the CPU; therefore, only one of the CPU or a device performing a DMA (operation) can access the memory at any one time. DMA operations may be utilized in conjunction with “double buffering” operations to minimize delays in input/output processes such as data transfer to and from memory locations. During double buffering of DMA operations, a separate channel is utilized for each buffer to perform input/output operations. Each buffer is assigned a channel identification (ID), or tag.
In a tag managed system, tags are assigned to each buffer according to availability. Numerically adjacent tags may be assigned to a buffer pair; however, the opportunity to assign numerically adjacent tags diminishes due to normal DMA operations. Expediting data transfer between memory locations is highly dependent on whether the tags assigned to each buffer are numerically adjacent. If the tags are not numerically adjacent the previously expeditious process becomes time-consuming.